package apiUtils.models;

import java.util.ArrayList;
import java.util.List;

public final class PayInfo {
    private static final String SKEY_AES = "66af8593f42b01b3ee815ad8be980e3c";
    private static final String SVECTOR_AES = "04c52bed86e11f9e";
    private String mAppKey = "";
    private String mAppId = "";
    private String mPaySystemId = "";
    private String mKeyAES = "66af8593f42b01b3ee815ad8be980e3c";
    private String mVectorAES = "04c52bed86e11f9e";
    private List<PayPlatFormModel> mPayPlatFormModels = new ArrayList<PayPlatFormModel>();
    private List<PayAppInfo> mPayAppInfos = new ArrayList<PayAppInfo>();
    private String mPayTypeName = "";
    private String mChannelName = "";
    private OrderModel mModel;

    private PayInfo() {
    }

    public static PayInfo getInstance() {
        return Holder.info;
    }

    public OrderModel getOrderModel() {
        return mModel;
    }

    public void setOrderModel(OrderModel model) {
        mModel = model;
    }

    public List<PayAppInfo> getPayAppInfos() {
        return mPayAppInfos;
    }

    public void setPayAppInfos(List<PayAppInfo> payAppInfos) {
        mPayAppInfos = payAppInfos;
    }

    public String getAppKey() {
        return mAppKey;
    }

    public void setAppKey(String appKey) {
        this.mAppKey = appKey;
    }

    public List<PayPlatFormModel> getPayPlatFormModels() {
        return mPayPlatFormModels;
    }

    public void setPayPlatFormModels(List<PayPlatFormModel> payPlatFormModels) {
        mPayPlatFormModels = payPlatFormModels;
    }

    public String getAppId() {
        return mAppId;
    }

    public String getPaySystemId() {
        return mPaySystemId;
    }

    public String getPayTypeName() {
        return mPayTypeName;
    }

    public void setPayTypeName(String payTypeName) {
        mPayTypeName = payTypeName;
    }

    public String getKeyAES() {
        return mKeyAES;
    }

    public String getVectorAES() {
        return mVectorAES;
    }

    public void setAppId(String appId) {
        mAppId = appId;
    }

    public void setPaySystemId(String paySystemId) {
        mPaySystemId = paySystemId;
    }

    public void setKeyAES(String keyAES) {
        mKeyAES = keyAES;
    }

    public void setVectorAES(String vectorAES) {
        mVectorAES = vectorAES;
    }

    public void setModel(OrderModel model) {
        mModel = model;
    }

    public void setChannelName(String channelName) {
        mChannelName = channelName;
    }

    public static String getSkeyAes() {
        return SKEY_AES;
    }

    public static String getSvectorAes() {
        return SVECTOR_AES;
    }

    public String getChannelName() {
        return mChannelName;
    }

    public OrderModel getModel() {
        return mModel;
    }

    public void resetAES(){
        mKeyAES = SKEY_AES;
        mVectorAES = SVECTOR_AES;
    }

    private static final class Holder {
        private static final PayInfo info = new PayInfo();
    }
}
